package setDemo;

import java.util.HashSet;

public class HashsetDemo {

	/*
	 * HashSet:
	 * 		HashSet集合为什么不能添加重复元素
	 * 因为HashSet实质上是实现了hashCode，和equals方法
	 * 			先比较其hashCode是否相同
	 * 			相同：继续比较equals是否相同
	 * 				相同：不添加
	 * 				不同：添加元素到集合
	 * 
	 * 			不同：直接添加元素到集合
	 * 
	 * HashSet集合添加String元素：
	 * 				添加元素，先判断其hashCode是否相同，
	 * 						相同：继续判断其equals是否相同
	 * 								相同：说明两个元素一模一样，则不添加
	 * 								不同：两元素不相同，添加该元素
	 * 						不同：说明两元素不同，直接添加
	 * 
	 * 
	 * HashSet集合添加对象元素：
	 * 			因为每个new出来的对象其hashCode一定不同，所有如果不重写其方法，那么会全部添加进去
	 * 			所以得重写hashCode方法
	 * 			equals用来判断不同hashCode的元素中成员属性是否相同，所以也需要重写其方法
	 * 
	 * */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		HashSet<String> hs=new HashSet<String>();
		hs.add("JCG");
		hs.add("ZM");
		hs.add("WF");
		hs.add("JCG");
		
		
	}
	
	
}

	

